prepare(" SELECT e.*, COUNT(DISTINCT es.subject_id) as total_subjects FROM exams e LEFT JOIN exam_subjects es ON e.id = es.exam_id WHERE e.id = ? AND e.status = 'active' GROUP BY e.id "); $stmt->execute([$exam_id]); $exam = $stmt->fetch(PDO::FETCH_ASSOC); if (!$exam) { redirect('dashboard.php'); } // Get available subjects for this exam $stmt = $pdo->prepare(" SELECT s.* FROM subjects s JOIN exam_subjects es ON s.id = es.subject_id WHERE es.exam_id = ? ORDER BY s.name "); $stmt->execute([$exam_id]); $subjects = $stmt->fetchAll(PDO::FETCH_ASSOC); // Handle subject selection if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['selected_subjects'])) { $selected_subjects = $_POST['selected_subjects'] ?? []; $selected_count = count($selected_subjects); // Validate subject count if ($selected_count < $exam['min_subjects'] || $selected_count > $exam['max_subjects']) { $error = "Please select between {$exam['min_subjects']} and {$exam['max_subjects']} subjects."; } else { // Store selected subjects in session and redirect to exam $_SESSION['selected_subjects'] = $selected_subjects; $_SESSION['current_exam_id'] = $exam_id; redirect("exam.php?exam_id=$exam_id"); } } ?> Select Subjects - <?php echo $exam['name']; ?>

Select Subjects for

Choose between and subjects: